# -*- coding: utf-8 -*-
"""
Created on Fri Aug 18 21:16:50 2023

@author: skunk69
"""

import json

chinese_name = u'中学生考试心理和行为问题症状自评量表'
english_name = 'Examination Mental and Behavioral Problem Symptom Self-rating Scale for Middle School Students'
abbreviation = 'EMP'
category = u'学习与教育量表'

outline = u"""《中学生考试心理和行为问题症状自评量表》（Examination Mental and Behavioral Problem Symptom Self-rating Scale for Middle School Students, EMP）是一种针对中学生的心理测评工具，用于评估他们在面临考试时的心理和行为问题症状。此量表旨在帮助了解学生在应对考试压力时可能出现的不良心理和行为反应，以便为他们提供更有效的心理支持和干预。"""

instruction = u"""本问卷由一些描述考试中容易产生的观念和行为表现的题目组成，为了帮助您准确地把握自己在考试心理方面存在的问题，请仔细阅读每一道题目，并根据一周内的实际感受做出回答。"""

with open('EMP.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for line in lines[0::6]:
    key,value = line.strip().split('、',maxsplit=1)
    items[key] = value.strip()

reverse_items = []
scales = [u'人际敏感',u'焦虑',u'怯场',u'自责',u'家庭压力',u'身体症状',
          u'动力问题',u'强迫',u'抑郁',u'自卑',u'精神病性']
scales_items = [
    [1,12,23,34,39],# 人际敏感
    [2,13,24],# 焦虑
    [3,14,25,35,40],# 怯场
    [4,15,26,36],# 自责
    [5,16,27],# 家庭压力
    [6,17,28],# 身体症状
    [7,18,29,37],# 动力问题
    [8,19,30,38],# 强迫
    [9,20,31],# 抑郁
    [10,21,32],# 自卑
    [11,22,33],# 精神病性
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,41)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [l.strip() for l in lines[1:6]]
score_rules = list(range(1,6))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《中学生考试心理和行为问题症状自评量表》属于一个自评量表。"""

reliability = u"""正式样本为初高中学生群体。问卷各分量表的分半信度在0.5408~0.8497，总量表为0.8819。各分量表内部一致性信度α系数为0.5624~0.8633，总量表的α系数为0.9427。"""
validity = u"""结构效度方面，各个因素之间具有中等偏高程度相关。内部一致性效度检验结果表明，各因素与总量表之间存在中等偏高程度相关。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""各维度释义：
（1）人际敏感，反映被测者某些个人不自在感、孤立感，包括自卑、懊恼、孤独、与人疏离、缺乏可利用的社会支持系统等内容。
（2）焦虑，反映被测试者临床上明显与焦虑症状相联系的症状及其体验，一般指无法静息、神经过敏、紧张以及由此产生的躯体症状（如震颤）、游离不定的焦虑及惊恐发作。
（3）怯场，反映被测试者由于过去的失败体验，或自身期望过高，过于看重分数，从而产生对考试的恐惧心理，使个体无法安心学习、考试。
（4）自责，反映被测试者在考试过程中产生不能正确看待失败，常将失败、过失归咎于自己的思想和行为表现。
（5）家庭压力，反映被测试者的家庭对其学习考试的态度、期望、教养方式等内容。得分高为压力大，意味着家庭的期待与教养已经成为学生的精神负担。
（6）身体症状，反映被测试者身体不适感，包括心血管、胃肠道、呼吸等系统的主诉不适，头疼、背疼、肌肉酸痛以及与焦虑相关的表现。
（7）动力问题，反映被测试者的考试动力，目标过高、动机太强可能会给其带来过大压力，造成情绪问题；或目标过低，动机太弱会影响其对待复习考试的态度及考试绩效。心理学研究表明，适度的动机有利于激发学生的学习热情，获得较好结果。
（8）强迫，反映被测试者在复习考试过程中出现的那些明知没有必要，但又无法摆脱的无意义的思想、冲动、行为等表现。还有一些比较一般的感知障碍。
（9）抑郁，反映被测试者经常出现在考试之后的情绪问题。这是与临床上抑郁症状相联系的广泛的概念，抑郁苦闷的情感和心境是代表性症状，还以对生活的兴趣减退、缺乏活动愿望、丧失活动力等为特征，包括失望、悲观以及与忧郁相联系的其他感知及躯体方面的问题。
（10）自卑，反映被测试者在同他人就体貌、学习能力、学业成绩以及社会地位等方面进行比较后，感到自我适应性差，某方面不如人，因而表现出无能、软弱、沮丧、精神不振时的心理不平衡状态。
（11）精神病性，反映被测试者在考试的应激反应过程中，所产生的一些精神症状，包括幻听、思维播散、被控制感和思维插入等症状。
所有40个条目得分之和即为该量表的总分，反映了被测试者考试心理和行为的总体状况。"""

applications = u"""目前，关于中学生考试心理问题的概念、结构成分的科学分析与界定还处于起步阶段。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)